Software Evolution based on Formalized Abstraction Hierarchy
نویسندگان
چکیده
Software evolution is about visions and abstractions. The success in finding the right visions, i.e., directions of future evolution, and abstractions, i.e., concepts by which the system is understood, provide a good starting point for the evolution of a software system. In contrast, a failure makes the system practically unevolvable. Unfortunately, there is no universally accepted set of visions or abstractions that could be applied in all systems. Instead, it is up to the developers to find and document them in particular domains. Then, criteria are needed for determining the quality of interconnected abstractions and visions. This can be achieved by modeling the abstractions incorporated in the system as a hierarchy, where abstraction levels exceeding that of implementation facilities are used. The hierarchy can then be used for examining new visions and requirements that emerge over time as well as for supporting associated modifications. This paper introduces an approach where formalism is used for deriving the hierarchy, and provides an example on the evolution of abstractions.
منابع مشابه
Fused Data-Centric Visualizations for Software Evolution Environments
During software evolution, several different facets of the system need to be related to one another at multiple levels of abstraction. Current software evolution tools have limited capabilities for effectively visualizing and evolving multiple system facets in an integrated manner. Many tools provide methods for tracking and relating different levels of abstraction within a single facet. Howeve...
متن کاملMaRTS: A Model-Based Regression Test Selection Approach
Models can be used to plan the evolution and runtime adaptation of a software system. Regression testing of the evolved and adapted models is important to ensure that the previously tested functionality is not broken. Regression testing is performed with limited time and resource constraints. Thus, regression test selection (RTS) techniques are needed to reduce the cost of regression testing. E...
متن کاملHierarchical Intelligent Simulation
Separating the different hierarchy types reveals their comprehensive constructive importance based on structural approach, symbolic meaning, object-oriented representation, their combination in looking for self-organization, self-control and conscience. Knowledge and construction hierarchies can cooperate to integrate design and verification into simulation; object-oriented concepts can be symb...
متن کاملOn the blessing of abstraction.
The "blessing of abstraction" refers to the observation that acquiring abstract knowledge sometimes proceeds more quickly than acquiring more specific knowledge. This observation can be formalized and reproduced by hierarchical Bayesian models. The key notion is that more abstract layers of the hierarchy have a larger "effective" sample size, because they combine information across multiple spec...
متن کاملAutomated traceability analysis for UML model refinements
During iterative, UML-based software development, various UML diagrams, modeling the same system at different levels of abstraction are developed. These models must remain consistent when changes are performed. In this context, we refine the notion of impact analysis and distinguish horizontal impact analysis–that focuses on changes and impacts at one level of abstraction–from vertical impact a...
متن کامل